Find tekst imellem to tags. f. eks. [url]blablabla[/url]

Tags:    asp

Hejsa.

Hvordan finder jeg teksten mellem forskellige hjemmelavede tags?

Hvis jeg fx har en gæstebog hvor brugeren skriver følgende tekst:

Bemærk at jeg har brugt ( & ) i stedet for [ & ] for ellers sætter udvikleren.dk dem som et link :P

Fold kodeboks ind/udKode 


hvordan får man den så til at lægge alle linksene i en variabel... Fx så den lægger dem i variablen strLinks på denne måde

Fold kodeboks ind/udKode 


Må også kan være så man også kan skrive en tekst til linket

f. eks.
Fold kodeboks ind/udKode 


Tænkte lidt på at bruge replace-funktionen, men vil gerne kunne udnytte funktionen til andre ting en lige (url)-taget! Fx hvis jeg fik lyst til at lave noget specielt!



Indlæg senest redigeret d. 09.08.2006 00:15 af Bruger #1927
9 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
Find dine tags med instr funktionen.
Brug offset når du leder videre.



Hejsa,

Det er helt klart nemmeste at anvende regular expressions til dette formål. Det er både nemmere at kode men performer også langt bedre.

Hvis ikke du allerede kender til regular expressions, så kan du kigge lidt på nedenstående links:

http://en.wikipedia.org/wiki/Regular_expression

http://www.regular-expressions.info

http://regexlib.com



Indlæg senest redigeret d. 09.08.2006 08:23 af Bruger #5779
str = request.form("navn")

Set RegularExpressionObject = New RegExp

With RegularExpressionObject
.Pattern = "\\[url\\][\\d\\D]*?\\[/url\\]"
.IgnoreCase = True
.Global = True
End With

set links = RegularExpressionObject.Execute(str)

For Each link in links
allelinks = allelinks & link.Value & "|"
Next

allelinks = replace(allelinks,"[u r l]","") ' Husk at fjerne mellemrum her, Udvikleren.dk laver det bare til link
allelinks = replace(allelinks,"[/u r l ]","")


Sådan der.. Du kan bare sende points tak ;)



Indlæg senest redigeret d. 16.08.2006 15:20 af Bruger #10057
Find dine tags med instr funktionen.
Brug offset når du leder videre.


Jeg har forsøgt noget med instr, og det virker også fint, men jeg ved ikke hvordan jeg skal lukke loop'et igen!

Jeg har lavet det i Visual Basic, da jeg synes det er lidt nemmere at kode eksperimenter, fordi man kan køre det uden at uploade det, hjælpehints, osv.

Kan nemt konverteres til VBScript

Fold kodeboks ind/udKode 


Som sagt ved jeg ikke hvordan jeg skal lukke loop'et igen!

På forhånd tak!



Tak. Kan du ikke lige forklare mønstret?

"\\[url\\][\\d\\D]*?\\[/url\\]"



"\\" tegnet betyder, at det næste er et specieltegn. Det forklarer \\[url\\] og \\[/url\\]

Midten: [\\d\\D]*?, betyder egentligt bare "alle tegn", gentaget uendeligt mange/lidt gange.



"\\" tegnet betyder, at det næste er et specieltegn. Det forklarer \\[url\\] og \\[/url\\]

Midten: [\\d\\D]*?, betyder egentligt bare "alle tegn", gentaget uendeligt mange/lidt gange.


Okay! Takker! Tænk at jeg virkelig gav 100 for det!
Nå! Men nu har jeg jo sat dem på posten! :'(

Jeg må lige vente lidt da jeg faktisk ikke har tjekket om det virker endnu!



Indlæg senest redigeret d. 18.08.2006 23:04 af Bruger #1927
Haha okay, det er i orden ;)

Hvis du ikk havde sat 100 point på spil, havde du nok ikk fået svar på den her :P



Der går lige lidt tid endnu! Beklager!



t